home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume91 / graphics / gr / part01
Encoding:
Text File  |  1991-08-31  |  28.6 KB  |  786 lines

  1. Path: news.larc.nasa.gov!amiga-request
  2. From: amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator)
  3. Subject: v91i169: gr - simple demo of screen/window/graphics/menu programming, Part01/01
  4. Reply-To: black@seismo.CSS.GOV (Mike Black)
  5. Newsgroups: comp.sources.amiga
  6. Message-ID: <comp.sources.amiga.v91i169@ab20.larc.nasa.gov>
  7. Date: 31 Aug 91 10:10:31 GMT
  8. Approved: tadguy@uunet.UU.NET (Tad Guy)
  9. X-Mail-Submissions-To: amiga@uunet.uu.net
  10. X-Post-Discussions-To: comp.sys.amiga.misc
  11.  
  12. Submitted-by: black@seismo.CSS.GOV (Mike Black)
  13. Posting-number: Volume 91, Issue 169
  14. Archive-name: graphics/gr/part01
  15.  
  16. [ includes uuencoded executable  ...tad ]
  17.  
  18. This is source and executable for a real simple demonstration
  19. of screen/window/graphics/menu programming.  It does very
  20. little except show some colormaps.  This is in response
  21. to several requests for some code to these things.
  22.  
  23. #!/bin/sh
  24. # This is a shell archive.  Remove anything before this line, then unpack
  25. # it by saving it into a file and typing "sh file".  To overwrite existing
  26. # files, type "sh file -c".  You can also feed this as standard input via
  27. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  28. # will see the following message at the end:
  29. #        "End of archive 1 (of 1)."
  30. # Contents:  Makefile README gr.c gr.uu intuition.c intuition.h menu.c
  31. #   menu.men
  32. # Wrapped by tadguy@ab20 on Wed Aug 28 22:17:55 1991
  33. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  34. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  35.   echo shar: Will not clobber existing file \"'Makefile'\"
  36. else
  37. echo shar: Extracting \"'Makefile'\" \(304 characters\)
  38. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  39. XCFLAGS= -hi intuition.hi
  40. XOBJS=gr.o intuition.o menu.o
  41. X
  42. X.h:
  43. X
  44. X.men.o:
  45. X    mc $*
  46. X
  47. Xgr: $(OBJS)
  48. X    ln +q $(OBJS) -lc
  49. X
  50. Xintuition.o: intuition.c intuition.hi
  51. X    cc $(CFLAGS) intuition.c
  52. X
  53. Xintuition.hi: intuition.h
  54. X    cc -ho intuition.hi intuition.h
  55. X
  56. Xmenu.c: menu.men
  57. X    dh1:aztec/menuc/menuc menu.men menu.c
  58. END_OF_FILE
  59. if test 304 -ne `wc -c <'Makefile'`; then
  60.     echo shar: \"'Makefile'\" unpacked with wrong size!
  61. fi
  62. # end of 'Makefile'
  63. fi
  64. if test -f 'README' -a "${1}" != "-c" ; then 
  65.   echo shar: Will not clobber existing file \"'README'\"
  66. else
  67. echo shar: Extracting \"'README'\" \(719 characters\)
  68. sed "s/^X//" >'README' <<'END_OF_FILE'
  69. X7 Jul 1991
  70. X
  71. XSomeone posted a request for window/menu/colormap/graphics/menu code
  72. Xso I threw this together.  It doesn't do much, but it does show
  73. Xthe basics for doing all the above.  I used MenuC to do the
  74. Xmenu code (a great little utility) which can be obtained at:
  75. X
  76. Xfaui43.informatik.uni-erlangen.de       /portal/amiga/fish/ff438        MenuC.zo
  77. Xo               51705 Feb 8
  78. Xux1.cso.uiuc.edu                        /amiga/fish/ff438               MenuC.zo
  79. Xo               51705 Feb 8
  80. Xmrcnext.cso.uiuc.edu                    /ux1/amiga/fish/ff438           MenuC.zo
  81. Xo               51705 Aug 12
  82. X
  83. XThe Makefile is for Manx C 5.0d.  Not much to it so it should be
  84. Xeasy to modify for others.
  85. X
  86. XMike Black
  87. Xblack@beno.css.gov
  88. END_OF_FILE
  89. if test 719 -ne `wc -c <'README'`; then
  90.     echo shar: \"'README'\" unpacked with wrong size!
  91. fi
  92. # end of 'README'
  93. fi
  94. if test -f 'gr.c' -a "${1}" != "-c" ; then 
  95.   echo shar: Will not clobber existing file \"'gr.c'\"
  96. else
  97. echo shar: Extracting \"'gr.c'\" \(2836 characters\)
  98. sed "s/^X//" >'gr.c' <<'END_OF_FILE'
  99. X/* This program opens a custom screen and window with menus */
  100. X/* The Project menu item "Quit" is the only item on that menu implemented */
  101. X/* The Misc menu items all work and demonstrate rudimentary drawing */
  102. X/* and color map calls */
  103. X
  104. X#include "intuition.h"
  105. X
  106. Xint quit; /* global flag to quit program */
  107. X
  108. Xproject(long item,long subitem)
  109. X{
  110. X    switch(item) {
  111. X        case 4: quit=1;break;
  112. X        default: puts("Not implemented");
  113. X    }
  114. X}
  115. X
  116. Xmisc(long item,long subitem)
  117. X{
  118. X    long y,x1,y1,x2,y2,i;
  119. X    extern struct RastPort *RastPort;
  120. X    extern struct Window *Window;
  121. X    extern struct Screen *Screen;
  122. X
  123. X    switch(item) {
  124. X        case 0:
  125. X            /* get the coordinates inside the borders */
  126. X            x1 = Window->LeftEdge + Window->BorderLeft - 1;
  127. X            x2 = Window->Width - Window->BorderRight + 1;
  128. X            y1 = Window->TopEdge + Window->BorderTop -1;
  129. X            y2 = Window->Height - Window->BorderBottom;
  130. X            for(y=y1;y<=y2;y++) { /* Draw color map */
  131. X                SetAPen(RastPort,(y-y1)/24);
  132. X                Move(RastPort,x1,y);
  133. X                Draw(RastPort,x2,y);
  134. X            }
  135. X            break;
  136. X        case 1: /* Setup an RGB colormap */
  137. X            SetRGB4(&Screen->ViewPort,0,0,0,0);
  138. X            SetRGB4(&Screen->ViewPort,1,0,0,7);
  139. X            SetRGB4(&Screen->ViewPort,2,0,0,11);
  140. X            SetRGB4(&Screen->ViewPort,3,0,0,15);
  141. X            SetRGB4(&Screen->ViewPort,4,0,7,0);
  142. X            SetRGB4(&Screen->ViewPort,5,0,11,0);
  143. X            SetRGB4(&Screen->ViewPort,6,0,15,0);
  144. X            SetRGB4(&Screen->ViewPort,7,0,7,7);
  145. X            SetRGB4(&Screen->ViewPort,8,0,11,11);
  146. X            SetRGB4(&Screen->ViewPort,9,0,15,15);
  147. X            SetRGB4(&Screen->ViewPort,10,7,7,0);
  148. X            SetRGB4(&Screen->ViewPort,10,11,11,0);
  149. X            SetRGB4(&Screen->ViewPort,12,15,15,0);
  150. X            SetRGB4(&Screen->ViewPort,13,7,0,7);
  151. X            SetRGB4(&Screen->ViewPort,14,11,0,11);
  152. X            SetRGB4(&Screen->ViewPort,15,15,0,15);
  153. X            break;
  154. X        case 2: /* Setup a Grey Level colormap */
  155. X            for(i=0;i<16;i++) SetRGB4(&Screen->ViewPort,i,i,i,i);
  156. X            break;
  157. X        default: puts("Not implemented");
  158. X    }
  159. X}
  160. X
  161. Xmain()
  162. X{
  163. X    long choice,menu,item,subitem;
  164. X
  165. X    init_libs(); /* open the libraries, screen, and window */
  166. X    init_screen();
  167. X    init_window();
  168. X
  169. X    while(choice=handle_user(&menu,&item,&subitem) && quit==0) {
  170. X        switch(choice) {
  171. X            case 1: /* Menu pick */
  172. X                /* subitem will equal 31 if no subitem was attached to menu */
  173. X                switch(menu) {
  174. X                    case 0: project(item,subitem);break;
  175. X                    case 1: misc(item,subitem);break;
  176. X                }
  177. X                break;
  178. X            default:
  179. X                printf("choice = %ld\n",choice);
  180. X                break;
  181. X        }
  182. X    }
  183. X    close_all();
  184. X}
  185. END_OF_FILE
  186. if test 2836 -ne `wc -c <'gr.c'`; then
  187.     echo shar: \"'gr.c'\" unpacked with wrong size!
  188. fi
  189. # end of 'gr.c'
  190. fi
  191. if test -f 'gr.uu' -a "${1}" != "-c" ; then 
  192.   echo shar: Will not clobber existing file \"'gr.uu'\"
  193. else
  194. echo shar: Extracting \"'gr.uu'\" \(11893 characters\)
  195. sed "s/^X//" >'gr.uu' <<'END_OF_FILE'
  196. Xbegin 644 gr
  197. XM```#\P`````````#``````````(```;-```!70````$```/I```&S4[Z""Q.V
  198. XM50``2.<``"`M``A@```<*7P````!A0)@```62'H`&DZZ!Y)83V````A9@&?BF
  199. XM8.Q,WP``3EU.=4YO="!I;7!L96UE;G1E9`!.5?_H2.<P`"`M``A@``+,(&R%'
  200. XM!C`H``1(P"!LA082*``V2(%(P="!4X`K0/_X(&R%!C`H``A(P"!LA082*``X1
  201. XM2(%(P9"!4H`K0/_P(&R%!C`H``9(P"!LA082*``W2(%(P="!4X`K0/_T(&R%Y
  202. XM!C`H``I(P"!LA082*``Y2(%(P9"!*T#_["MM__3__&````92K?_\("W__+"M^
  203. XM_^QN``!&("W__)"M__1R&$ZZ%!XB;(4*+&R%#DZN_JHB+?_\("W_^")LA0HL>
  204. XM;(4.3J[_$"(M__P@+?_P(FR%"BQLA0Y.KO\*8*Q@``(&=@!T`'(`<``@;(42`
  205. XMT?P````L+&R%#DZN_N!V!W0`<@!P`2!LA1+1_````"PL;(4.3J[^X'8+=`!R:
  206. XM`'`"(&R%$M'\````+"QLA0Y.KO[@=@]T`'(`<`,@;(42T?P````L+&R%#DZNT
  207. XM_N!V`'0'<@!P!"!LA1+1_````"PL;(4.3J[^X'8`=`MR`'`%(&R%$M'\````B
  208. XM+"QLA0Y.KO[@=@!T#W(`<`8@;(42T?P````L+&R%#DZN_N!V!W0'<@!P!R!L@
  209. XMA1+1_````"PL;(4.3J[^X'8+=`MR`'`((&R%$M'\````+"QLA0Y.KO[@=@]T9
  210. XM#W(`<`D@;(42T?P````L+&R%#DZN_N!V`'0'<@=P"B!LA1+1_````"PL;(4.&
  211. XM3J[^X'8`=`MR"W`*(&R%$M'\````+"QLA0Y.KO[@=@!T#W(/<`P@;(42T?P`-
  212. XM```L+&R%#DZN_N!V!W0`<@=P#2!LA1+1_````"PL;(4.3J[^X'8+=`!R"W`.I
  213. XM(&R%$M'\````+"QLA0Y.KO[@=@]T`'(/<`\@;(42T?P````L+&R%#DZN_N!@;
  214. XM``!B0JW_Z&````92K?_H#*T````0_^AL```F)BW_Z"0M_^@B+?_H("W_Z"!LN
  215. XMA1+1_````"PL;(4.3J[^X&#,8```(DAZ`"9.N@2:6$]@```42H!G`/TR4X!G&
  216. XM`/X$4X!GHF#@3-\`#$Y=3G5.;W0@:6UP;&5M96YT960`3E7_\$CG``!.N@$N@
  217. XM3KH"!DZZ`FI(;?_P2&W_]$AM__A.N@+,3^\`#$J`9P``%DJLA0)F```.*WP`[
  218. XM```!__Q@```&0JW__&<``%X@+?_\8```3"`M__A@```F+RW_\"\M__1.NOQ0]
  219. XM4$]@```<+RW_\"\M__1.NOR&4$]@```*2H!GV%.`9^9@```:+RW__$AZ`").T
  220. XMN@.N4$]@```(4X!GLF#H8`#_<$ZZ`#!,WP``3EU.=6-H;VEC92`]("5L9`H`M
  221. XM1W)A<&AI8W,``$=R87!H:6-S(#$N,```3E4``$CG``!*K(4&9P``#B!LA08L<
  222. XM;(463J[_N$JLA1)G```.(&R%$BQLA19.KO^^2JR%#F<```XB;(4.+&R%&DZN=
  223. XM_F)*K(469P``#B)LA18L;(4:3J[^8DS?``!.74YU3E4``$CG``!P`$/Z`&PL2
  224. XM;(4:3J[]V"E`A19*K(469@``&DAZ`&9(;(-L3KH"N%!/2'@`&4ZZ%(Q83W``U
  225. XM0_H`;2QLA1I.KOW8*4"%#DJLA0YF```>2'H`9DAL@VQ.N@*&4$].NO\\2'@`X
  226. XM&4ZZ%%983TS?``!.74YU:6YT=6ET:6]N+FQI8G)A<GD`97)R;W(@;W!E;FEND
  227. XM9R!I;G1U:71I;VXN;&EB<F%R>0H`9W)A<&AI8W,N;&EB<F%R>0!E<G)O<B!O$
  228. XM<&5N:6YG(&=R87!H:6-S+FQI8G)A<GD*`$Y5``!(YP``0>R``BQLA19.KO\Z(
  229. XM*4"%$DJLA1)F```>2'H`,$AL@VQ.N@'>4$].NOZ42'@`&4ZZ$ZY83RELA1*%`
  230. XM"@:L````5(4*3-\``$Y=3G5E<G)O<B!O<&5N:6YG('-C<F5E;@H`3E4``$CGN
  231. XM```I;(42@$!![(`B+&R%%DZN_S0I0(4&2JR%!F8``!Y(>@`T2&R#;$ZZ`7!0X
  232. XM3TZZ_B9(>``93KH30%A/0>R"(")((&R%!BQLA19.KO[X3-\``$Y=3G5E<G)O<
  233. XM<B!O<&5N:6YG('=I;F1O=PH`3E7_\$CG```@;(4&(&@`5G``$"@`#W(!X:$@&
  234. XM`2QLA1I.KO["(&R%!B!H`%8L;(4:3J[^C"M`__`@;?_P*V@`%/_X(&W_\'``&
  235. XM,"@`&"M`__0B;?_P+&R%&DZN_H8@+?_X8```3$*M__Q@``!4("W_]`*`````3
  236. XM'R!M``@@@"`M__3J@`*`````/R!M``P@@"`M__1R"^*@`H`````?(&T`$""`5
  237. XM*WP````!__Q@```2!(````$`9[8$@````0!GIB`M__Q,WP``3EU.=2!'<F5YA
  238. XM($UA<"```"!#;VQO<B!-87```"!$<F%W("`@("```"!-:7-C`"!1=6ET("`@8
  239. XM```@4G5N("`@(```(%-A=F5!<R```"!3879E("`@```@3W!E;B`@(```4')OJ
  240. XM:F5C=`!(YR`@0>\`%"1(+PHO+P`4+R\`%$ZZ!;@D`"`"3^\`#$S?!`1.=4CG<
  241. XM("!![P`0)$@O"B\O`!!(;(-63KH%DB0`(`)/[P`,3-\$!$YU2.<@,"9O`!!!J
  242. XM[(-6)$A@+"!2L>H`!&0,(%)2DA""<``0`F`.<``0`B\`+PI.N@J$4$\,@/___
  243. XM__]G.%*+%!-FT"!2L>H`!&0.(%)2DA"\``IP`'`*8`Q(>``*+PI.N@I44$\,P
  244. XM@/____]G"'``3-\,!$YU</]@]F%P0^R%`D7LA0*UR68.,CP`'&L(=``BPE')^
  245. XM__PI3X4>+'@`!"E.A1I(YX"`""X`!`$I9Q!+^@`(3J[_XF`&0J?S7TYS0_H`G
  246. XM($ZN_F@I0(4B9@PN/``#@`=.KO^48`1.N@`:4$].=61O<RYL:6)R87)Y`$GY:
  247. XM``!__DYU2.<`,"9O`!`O#BQLA1HB/``!```P+(3X+P%(P"(`XXC0@>.((A]._
  248. XMKO\Z+%\I0(4F9AY(YP$&+&R%&IO-+CP``0``3J[_E$S?8(`N;(4>3G4@;(4F;
  249. XM0F@`!"!LA28Q?``!`!`@;(4F,7P``0`*(&R%'B`LA1Z0J``$4(`I0(4J(&R%E
  250. XM*B"\34%.6"\.+&R%&I/)3J[^VBQ?)$!*J@"L9S(O"R\O`!`O"DZZ`.PI?````
  251. XM``&%+B!LA298B`!0@``@;(4FT?P````*`%"``$_O``Q@5B\.+&R%&D'J`%Q."
  252. XMKOZ`+%\O#BQLA1I!Z@!<3J[^C"Q?*4"%,B!LA3)*J``D9R(O#BQLA2(@;(4R$
  253. XM(&@`)"(03J[_@BQ?+RR%,B\*3KH"6E!/*6R%,H4V+PXL;(4B3J[_RBQ?(&R%8
  254. XM)B"`+PXL;(4B3J[_Q"Q?(&R%)B%```9*J@"D9R1(YR`"+&R%(B0\```#[4'ZH
  255. XM`#`B"$ZN_^),WT`$(&R%)B%```PO+(4V+RR%.DZZ^2A03R\`3KH/&EA/3-\,`
  256. XM`$YU*@!(YS@R)B\`'"@O`"`F;P`D($-*J`"L9Q0@0R`H`*SE@"Q`("X`$.6`.
  257. XM)$!@!"1LA/H0$DB`2,#0A%2`*4"%/B\.+&R%&G(`("R%/DZN_SHL7RE`A4)FG
  258. XM!DS?3!Q.=1`22(!(P"0`+P)!Z@`!+P@O+(5"3KH"7$AZ`48@0M'LA4(O"$ZZ\
  259. XM##@O!"\++RR%0DZZ`3`@;(5"0C`H`"E\`````84Z)$+5[(5"4HHF2D_O`"`0&
  260. XM$DB`2,`D``R`````(&<@#((````)9Q@,@@````QG$`R"````#6<(#((````*"
  261. XM9@12BF#,#!(`(&UV#!(`(F8J4HH0&DB`2,`D`&<<%L(,@@```")F$`P2`")F$
  262. XM!%**8`9"*___8`)@VF`X$!I(@$C`)`!G+`R"````(&<D#((````)9QP,@@``W
  263. XM``QG%`R"````#6<,#((````*9P06PF#*0AM*@F8"4XI2K(4Z8`#_4D(3+PXLT
  264. XM;(4:<@`@+(4ZY8!8@$ZN_SHL7RE`A39F"$*LA3I@`/[4=``D;(5"8!H@`N6`"
  265. XM(&R%-B&*"``O"DZZ!EK5P%**6$]2@K2LA3IMX"`"Y8`@;(4V0K`(`&``_IP@5
  266. XM`$SO`P``!"`((B\`#$H89OQ3B!#95\G__`2!``$``&KR0B!.=4CG.#(F;P`<[
  267. XM*"\`("\.+&R%&G``0_H`P$ZN_=@L7RE`A49F!DS?3!Q.=2\.+&R%1B!$(&@`V
  268. XM)"!H``1.KO^R+%\D0$J`9W@O#BQLA49#^@"5(&H`-DZN_Z`L7RQ`2H!G4$CGI
  269. XM(`(L;(4B)#P```/M(B\`!$ZN_^),WT`$)@!G,B`#Y8`D`"!")V@`"`"D)T,`$
  270. XMG$CG(`(L;(4B)#P```/M0?H`2B((3J[_XDS?0`0G0`"@+PXL;(5&($I.KO^FI
  271. XM+%\O#BQLA1HB;(5&3J[^8BQ?0JR%1F``_U!I8V]N+FQI8G)A<GD`5TE.1$]7+
  272. XM`"H`3.\#```$(`@B+P`,8`(0V5?)__QG#`2!``$``&KP3G5"&%')__P$@0`!B
  273. XM``!J\DYU3E7]]$CG/S(F;0`(+&T`$'X`)&T`#!829@H@!TS?3/Q.74YU4HH,Z
  274. XM`P`E9T(D!R!3L>L`!&0,(%-2DQ"#<``0`V`.<``0`R\`+PM.N@3D4$\,@/__@
  275. XM__]G``1X4H(6$F8$(`)@N%**#`,`)6;"+@)X`"M\````(/_\%AIP`!`#8&@(F
  276. XMQ```8/((Q``!8.P(Q``"8.8(Q``#8.!-[@`$)"[__$J";`8(Q```1((6&F!64
  277. XM*WP````P__QT`&`8(`+G@'(`$@/0@=""T((D``2"````,!8:<``0`T'L@C\0.
  278. XM,```2(`(```"9M1@'`1``"!GGE=`9Z!?0&>B4T!GC%5`9X)70&>L8+(K0O_X+
  279. XM)#P``'W&#`,`+F9>%AH,`P`J9A9-[@`$)"[__$J";`8D/```?<86&F`P=`!@*
  280. XM&"`"YX!R`!(#T('0@M"")``$@@```#`6&G``$`-![((_$#```$B`"````F;4D
  281. XM#((``'W&9P@K?````"#__"H"#`,`:&8&",0`!V`6#`,`;&8&",0`!F`*#`,`,
  282. XM3&8&",0`"!8:*TH`#'``$`-@``&>8``#*@@$``=G#$WN``0@;O_\,(=@'`@$9
  283. XM``9G#$WN``0@;O_\((=@"DWN``0@;O_\((=T`&```;)-[@`$)&[__"\*3KH#8
  284. XM$"0`#(4``'W&6$]G!K2%;P(D!6```8Y-[@`$%B[__T'M_?@D2!"#=`%@``%X/
  285. XM=`A@$`!$`$AV>'008`8(Q``$=`H,`P!89@A!^@*D(`A@!D'Z`JT@""M`_?0(8
  286. XM!``&9PI-[@`$+"[__&`8"`0`!&<*3>X`!"PN__Q@"$WN``0L+O_\"`0`!&<*9
  287. XM2H9L!D2&",0`!4'M__@D2`R%``!]QF8">@%*AF8$2H5G'"`&(@).N@6&(&W]8
  288. XM]!4P"``@!B("3KH%@BP`9N1![?_XD<HD"`@$``-G;@P#`&]F%$J"9PH,$@`PC
  289. XM9PBTA6T$*@)2A6!4#`,`>&<&#`,`6&9(2H)G1`P2`#!G/K2%;!!![?WZL<ID\
  290. XM"!4\`#!2@F#L"`0``&8<#*T````P__QF$B`"5("PK?_X;`@J+?_X585@RA4#[
  291. XM%3P`,%2"M(5L$$'M_?BQRF0(%3P`,%*"8.Q@3`1``"5G`/["!$``,V<`_M($E
  292. XM0``+9P#^JE-`9P#^R%M`9P#^PEM`9P#^0%-`9P#^J%-`9P#^IE=`9P#^8E5`-
  293. XM9P#^J%=`9P#^FF``_AH(!``$9R@(!``%9P85/``M8!H(!``!9P85/``K8`X(<
  294. XM!``"9P85/``@8`)3@E*"WH((!```9@``D`RM````,/_\9D((!``$9SPP!`)`&
  295. XM`"9G-"!3L>L`!&0.(%-2DQ":<``0*O__8`YP`!`:+P`O"TZZ`3103PR`____&
  296. XM_V<``,A3K?_X4X)@-"!3L>L`!&00(%-2DQ"M__]P`!`M__]@$'``$"W__R\`=
  297. XM+PM.N@#Z4$\,@/____]G``".4H<@+?_X4ZW_^+"";L`J`B`"4X)*@&<N(%.QR
  298. XMZP`$9`X@4U*3$)IP`!`J__]@#G``$!HO`"\+3KH`M%!/#(#_____9TA@R@@$$
  299. XM``!G/"0%8"P@4['K``1D#B!34I,0O``@<`!P(&`,2'@`("\+3KH`?E!/#(#_7
  300. XM____9Q)2AR`M__A3K?_XL()NR&``^T1P_V``^T@P,3(S-#4V-S@Y04)#1$5&%
  301. XM`#`Q,C,T-38W.#EA8F-D968`(&\`!"`(2AAF_%-(D<`@"$YU2.<`($'L@T`D;
  302. XM2"\*3KH!F%A/U?P````60>R$^+7(9>I,WP0`3G5(YSP@)&\`&"@O`!P@"F<`1
  303. XM`6HT*@`,9P`!8@@"``EF``%:"`(``V8``5)!Z@`,`E#O_4JJ``AF'`R$____Y
  304. XM_V8(<`!,WP0\3G4O"DZZ`P@T*@`,6$\(`@`.9C0@4K'J``AC'DAX``$@$I"J=
  305. XM``0O`!`J``Y(@$C`+P!.N@2"3^\`#"2J``@@:@`0T=(E2``$#(3_____9@1V"
  306. XM`&`"%@0@$I"J``@J`#`"`D``H&=&#(3_____9QH@4E*2$(-!Z@`,"-``!C00J
  307. XM0?K_%"E(A4I2A0R$_____V<,#`,`"F<&NJH`$&4$>/]@#"52``1P`!`#8`#_'
  308. XM4@@"``YG*$J%9QPO!2\J``@0*@`.2(!(P"\`3KH$M+"%3^\`#&9.0>H`#`B0I
  309. XM``8,A/____]F$B2J``@E:@`(``1P`!`#8`#_"D'Z_IXI2(5*0>H`#`C0``8DW
  310. XMJ@`((&H`$-'2)4@`!"!24I(0@W``$`-@`/[>0>H`#`CH``(``25J``@`!"2J;
  311. XM``AP_V``_L1.5?_V2.<X("1M``AT`"`*9P9*:@`,9@IP_TS?!!Q.74YU""H`F
  312. XM`0`,9@HO"DZZ`*"$@%A/$"H`#DB`2,`O`$ZZ!K*$@`@J````#5A/9PHO*@`(,
  313. XM3KH!]EA/2FH`%&=.2'H`:DAM__=.N@*D."H`%'8`4$]P`#`$<@I.N@#:!H``[
  314. XM```P<@>2@T'M__<1@!@`2,2)_``*4H,,@P````5MU$(M__](;?_W3KH#9%A/^
  315. XM0I)"J@`$0JH`"$)J``Q*@F<&</]@`/]8<`!@`/]25$U0`$CG`"`D;P`((`IF;
  316. XM1$'L@T`D2$IJ``QG)C`J``P"0`((9AQ(>/__+PI.NOV(#(#_____4$]F"'#_I
  317. XM3-\$`$YUU?P````60>R$^+7(9<9P`&#H2'C__R\*3KK]6E!/8-I(YT@`0H1*8
  318. XM@&H$1(!21$J!:@9$@0I$``%A/DI$9P)$@$S?`!)*@$YU2.=(`$*$2H!J!$2`T
  319. XM4D1*@6H"1(%A&B`!8-@O`6$2(`$B'TJ`3G4O`6$&(A]*@$YU2.<P`$A!2D%FV
  320. XM($A!-@$T`$)`2$"`PR(`2$`R`H+#,`%"04A!3-\`#$YU2$$F`2(`0D%(04A`A
  321. XM0D!T#]"`TX&V@6($DH-20%'*__),WP`,3G5(YR`@)&\`#'1!$"H`#DB`2,`O]
  322. XM`$ZZ`3!*@%A/9P1T(6`(0>R#;+7(9Q@E?```!```$$AX!`!.N@"V)4``"%A/U
  323. XM9A0E?`````$`$$'J``\E2``(-#P`@$'J``QP`#`0,@)(P8"!,(`E:@`(``0D?
  324. XMJ@`(3-\$!$YU2.<`,BQO`!"7RR1LA4Y@#$'J``B]R&<.)DHD4B`*9O!,WTP`O
  325. XM3G4@"V<$)I)@!"E2A4XO#BQLA1H@*@`$4(`B2DZN_RXL7V#82.<`,"1LA4Y@/
  326. XM&"92+PXL;(4:("H`!%"`(DI.KO\N+%\D2R`*9N1"K(5.3-\,`$YU2.<@("0OB
  327. XM``Q*@F8(<`!,WP0$3G4O#BQLA1IR`"`"4(!.KO\Z+%\D0$J`9@1P`&#>0?K_$
  328. XMGBE(A5(DK(5.)4(`!"E*A4X@"E"`8,1,[P,```0@"!#99OQ.=4CG("`D+P`,>
  329. XM(`(B`..(T('CB"1`U>R%)DJ";0PP;(3XL<)O!$J29A`I?`````.%5G#_3-\$Q
  330. XM!$YU+PXL;(4B(`(B`..(T('CB"!LA28B,`@`3J[_*"Q?2H!G!'`!8`)P`
  331. XM2.<P("0O`!!.N@%J(`(B`..(T('CB"1`U>R%)DJ";0PP;(3XL<)O!$J29A`I.
  332. XM?`````.%5G#_3-\$#$YU2.<P`BQLA2(@+P`D4X`F`"0O`"`B$DZN_[Y,WT`,J
  333. XM)@`,@/____]F%"\.+&R%(DZN_WPL7RE`A59P_V"^2.<P`BQLA2)V`'0`(A).#
  334. XMKO^^3-]`#&"F2.<`("1O``@O#BQLA2(B"DZN_[@L7TJ`9A@O#BQLA2).KO]\S
  335. XM+%\I0(56</],WP0`3G5P`&#V2.<P,"0O`!0F;P`83KH`H"`"(@#CB-"!XX@D0
  336. XM0-7LA29*@FT,,&R$^+'";P1*DF80*7P````#A59P_TS?#`Q.=3`J``0"0``#<
  337. XM9@PI?`````:%5G#_8.0(*@`#``1G%DCG,`(L;(4B=@%T`"(23J[_ODS?0`Q(8
  338. XMYS`"+&R%(B8O`"@D"R(23J[_T$S?0`PF``R`_____V84+PXL;(4B3J[_?"Q?@
  339. XM*4"%5G#_8)`@`V",2.<@`"\.+&R%&B(\```0`'``3J[^SBQ?)``(```,9Q)*A
  340. XMK(4N9@@@`DS?``1.=4ZZ``9P`&#R2.<P`BQLA2)V!$'Z`"HD""\#+P(L;(4B^
  341. XM3J[_Q"(`)!\F'TZN_]!,WT`,2'@``4ZZ``I83TYU7D,*`$JLA5IG%"!LA5H@N
  342. XM:``$3I`@;(5:*5"%6F#F2JR%2F<&(&R%2DZ0+R\`!$ZZ``983TYU2.<P`"8O,
  343. XM``Q*K(4F9S1T`&`*+P).N@%*6$]2@C!LA/BQPF[N+PXL;(4:,"R$^$C`(@#CE
  344. XMB-"!XX@B;(4F3J[_+BQ?2JR%4F<&(&R%4DZ02JR$_F<0+PXL;(4B(BR$_DZNC
  345. XM_Z8L7TJLA5YG""!LA5X@K(5B2JR%9F<0+PXL;(4:(FR%9DZN_F(L7TJLA6IG2
  346. XM$"\.+&R%&B)LA6I.KOYB+%]*K(5N9Q`O#BQLA1HB;(5N3J[^8BQ?2JR%<F<0(
  347. XM+PXL;(4:(FR%<DZN_F(L7TCG``8L>``$""X`!`$I9Q!+^@`(3J[_XF`&0J?S$
  348. XM7TYS*E]*K(4R9C1*K(5"9RPO#BQLA1H@+(4^(FR%0DZN_RXL7R\.+&R%&B`L,
  349. XMA3KE@%B`(FR%-DZN_RXL7V`<+PXL;(4:3J[_?"Q?+PXL;(4:(FR%,DZN_H8L0
  350. XM7R\.+&R%&B)LA2).KOYB+%\@`RYLA1Y.=4S?``Q.=4CG("`D+P`,(`(B`..()
  351. XMT('CB"1`U>R%)DJ";0PP;(3XL<)O!$J29A`I?`````.%5G#_3-\$!$YU,"H`C
  352. XM!`)`@`!F#B\.+&R%(B(23J[_W"Q?0I)P`&#<``````/L`````0````$```BBG
  353. XM`````````_(```/J```!0``````"@`&0``0``8`$``\````````$$```````B
  354. XM``````````*``9```0```P```!`(``````````````0:````````````,@`98
  355. XM`H`!D``/``$````"``(````````'"`````````````(`%`"6``H`5@``````"
  356. XM``!0`````$<```````````$````"``(````````'%`````````!D``(`"@"6]
  357. XM``H`5@````````"&`````$,```````````$````"``(````````'(```````5
  358. XM``":``(```"6``H`5@````````"\`````$0```````````````!,````,0`+:
  359. XM``$```<L````T`````````````$````"``(````````',@````````````(`$
  360. XM*`"$``H`5@````````$0`````%$```````````$````"``(````````'/```V
  361. XM``````$D``(`'@"$``H`5@````````%&`````%(```````````$````"``(`'
  362. XM```````'1@````````%:``(`%`"$``H`5@````````%\`````$$`````````@
  363. XM``$````"``(````````'4`````````&0``(`"@"$``H`5@````````&R````0
  364. XM`%,```````````$````"``(````````'6@````````'&``(```"$``H`5@``F
  365. XM``````'H`````$\`````````````\@`$````0P`+``$```=D```!_```````E
  366. XM`````"`@("`@("`@(#`P,#`P("`@("`@("`@("`@("`@("`@D$!`0$!`0$!`@
  367. XM0$!`0$!`0`P,#`P,#`P,#`Q`0$!`0$!`"0D)"0D)`0$!`0$!`0$!`0$!`0$!]
  368. XM`0$!`0%`0$!`0$`*"@H*"@H"`@("`@("`@("`@("`@("`@("`D!`0$`@````)
  369. XM`````````````````````````````````````````````````````````````
  370. XM`````````````````````````````````````````````````````````````
  371. XM`````````````````````````````````````````````````````````````
  372. XM`````@````````$```````````````````0``0`````!````````````````)
  373. XM```$``(``````0``````````````````````````````````````````````'
  374. XM`````````````````````````````````````````````````````````````
  375. XM`````````````````````````````````````````````````````````````
  376. XM`````````````````````````````````````````````````````````````
  377. XM`````````````````````````````````````````````````````````````
  378. XM`````````````````````````````````````````````````````````````
  379. XM`````````````````````````````````````````````````````````````
  380. XM`````````````````````````````````````````````````````````````
  381. XM````````````````````````````````````%``````````````#[````!$`4
  382. XM```!````=@```)H```"L````T````.(```$$```!-@```5H```%L```!D```$
  383. XM`:(```'&```!V````?P```(.```"'@```C`````,`````````!0````Z````\
  384. XM7````)(```#(```!`````1P```%2```!B````;X```'T```"+`````````/R'
  385. X,```#ZP````$```/RD
  386. X``
  387. Xend
  388. Xsize 8472
  389. END_OF_FILE
  390. if test 11893 -ne `wc -c <'gr.uu'`; then
  391.     echo shar: \"'gr.uu'\" unpacked with wrong size!
  392. fi
  393. # end of 'gr.uu'
  394. fi
  395. if test -f 'intuition.c' -a "${1}" != "-c" ; then 
  396.   echo shar: Will not clobber existing file \"'intuition.c'\"
  397. else
  398. echo shar: Extracting \"'intuition.c'\" \(2639 characters\)
  399. sed "s/^X//" >'intuition.c' <<'END_OF_FILE'
  400. X#include "intuition.h"
  401. X
  402. Xstruct NewScreen NewScreen = {
  403. X    0,0,        /* leftedge ,topedge */
  404. X    640,400,    /* width, height */
  405. X    4,          /* depth, 4=16 colors */
  406. X    0,1,        /* detail color, blockpen color */
  407. X    HIRES|INTERLACE,      /* viewmode */
  408. X    CUSTOMSCREEN, /* screen type */
  409. X    NULL,       /* font */
  410. X    (UBYTE*)"Graphics", /* title */
  411. X    NULL,       /* gadgets */
  412. X    NULL,       /* bitmap */
  413. X};
  414. X
  415. Xstruct NewWindow NewWindow = {
  416. X    0,0,
  417. X    640,400,
  418. X    0,1,
  419. X    MENUPICK | CLOSEWINDOW,
  420. X    WINDOWCLOSE | SMART_REFRESH | ACTIVATE,
  421. X    NULL,NULL,(UBYTE*)"Graphics 1.0",
  422. X    NULL,NULL,50,25,640,400,CUSTOMSCREEN,
  423. X};
  424. X
  425. Xstruct IntuitionBase *IntuitionBase;
  426. Xstruct GfxBase *GfxBase;
  427. Xstruct Screen *Screen;
  428. Xstruct Window *Window;
  429. Xstruct RastPort *RastPort;
  430. Xextern struct Menu Project_menu;
  431. X
  432. Xvoid close_all(void)
  433. X{
  434. X    if (Window) CloseWindow(Window);
  435. X    if (Screen) CloseScreen(Screen);
  436. X    if (GfxBase) CloseLibrary(GfxBase);
  437. X    if (IntuitionBase) CloseLibrary(IntuitionBase);
  438. X}
  439. X
  440. Xvoid init_libs(void)
  441. X{
  442. X    IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library",0L);
  443. X    if (IntuitionBase == NULL) {
  444. X        fprintf(stderr,"error opening intuition.library\n");
  445. X        exit(25);
  446. X    }
  447. X    GfxBase = (struct GfxBase *) OpenLibrary("graphics.library",0L);
  448. X    if (GfxBase == NULL) {
  449. X        fprintf(stderr,"error opening graphics.library\n");
  450. X        close_all();
  451. X        exit(25);
  452. X    }
  453. X}
  454. X
  455. Xvoid init_screen(void)
  456. X{
  457. X    Screen = (struct Screen *)OpenScreen(&NewScreen);
  458. X    if (Screen == NULL) {
  459. X        fprintf(stderr,"error opening screen\n");
  460. X        close_all();
  461. X        exit(25);
  462. X    }
  463. X    RastPort = &Screen->RastPort;
  464. X}
  465. X
  466. Xvoid init_window(void)
  467. X{
  468. X    NewWindow.Screen = Screen;
  469. X    Window = OpenWindow(&NewWindow);
  470. X    if (Window == NULL) {
  471. X        fprintf(stderr,"error opening window\n");
  472. X        close_all();
  473. X        exit(25);
  474. X    }
  475. X    SetMenuStrip(Window, &Project_menu);
  476. X}
  477. X
  478. X/* This function returns:
  479. X    0 when the CLOSE gadget is hit,
  480. X    1 when a menu item is picked
  481. X    It can be easily extended to return gadgets, mouse xy, etc
  482. X*/
  483. X
  484. Xlong handle_user(long *menu,long *item,long *sub)
  485. X{
  486. X    long rc,class,code;
  487. X    struct IntuiMessage *message;
  488. X
  489. X    Wait(1<<Window->UserPort->mp_SigBit);
  490. X    message = (struct IntuiMessage *)GetMsg(Window->UserPort);
  491. X    class = message->Class;
  492. X    code = message->Code;
  493. X    ReplyMsg((struct Message *)message);
  494. X    switch (class) {
  495. X        case CLOSEWINDOW: rc=0;break;
  496. X        case MENUPICK: {
  497. X            *menu = MENUNUM(code);
  498. X            *item = ITEMNUM(code);
  499. X            *sub = SUBNUM(code);
  500. X            rc = 1;
  501. X        }
  502. X    }
  503. X    return rc;
  504. X}
  505. END_OF_FILE
  506. if test 2639 -ne `wc -c <'intuition.c'`; then
  507.     echo shar: \"'intuition.c'\" unpacked with wrong size!
  508. fi
  509. # end of 'intuition.c'
  510. fi
  511. if test -f 'intuition.h' -a "${1}" != "-c" ; then 
  512.   echo shar: Will not clobber existing file \"'intuition.h'\"
  513. else
  514. echo shar: Extracting \"'intuition.h'\" \(150 characters\)
  515. sed "s/^X//" >'intuition.h' <<'END_OF_FILE'
  516. X#include <intuition/intuition.h>
  517. X#include <stdlib.h>
  518. X#include <stdio.h>
  519. X#include <exec/types.h>
  520. X#include <functions.h>
  521. X#include <graphics/display.h>
  522. X
  523. END_OF_FILE
  524. if test 150 -ne `wc -c <'intuition.h'`; then
  525.     echo shar: \"'intuition.h'\" unpacked with wrong size!
  526. fi
  527. # end of 'intuition.h'
  528. fi
  529. if test -f 'menu.c' -a "${1}" != "-c" ; then 
  530.   echo shar: Will not clobber existing file \"'menu.c'\"
  531. else
  532. echo shar: Extracting \"'menu.c'\" \(4971 characters\)
  533. sed "s/^X//" >'menu.c' <<'END_OF_FILE'
  534. X/*
  535. X * This File was created by
  536. X *
  537. X * "MenuC" The Menu Compiler. V0.8
  538. X *
  539. X * written by Bruce Mackey. (c) 1990,1991
  540. X *
  541. X */
  542. X
  543. X#include <intuition/intuition.h>
  544. X
  545. X/********** Start  Misc Menu **********/
  546. X
  547. Xstruct IntuiText _Grey_Map__item_text = {
  548. X    0,1,    /* FrontPen, BackPen */
  549. X    0,    /* DrawMode(jam1) */
  550. X    2,2,    /* LeftEdge,TopEdge */
  551. X    NULL,    /* ITextFont */
  552. X    " Grey Map ",    /* IText */
  553. X    NULL,    /* NextText */
  554. X    };
  555. X
  556. Xstruct MenuItem _Grey_Map__item = {
  557. X    NULL,    /* Next Item */
  558. X    2,20,150,10,    /* LeftEdge,TopEdge,Width,Height */
  559. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  560. X    NULL,    /* MutualExclude */
  561. X    (APTR)&_Grey_Map__item_text,    /* ItemFill */
  562. X    NULL,    /* SelectFill */
  563. X    0x47,    /* Command */
  564. X    NULL,    /* SubItem */
  565. X    NULL    /* NextSelect */
  566. X    };
  567. X
  568. Xstruct IntuiText _Color_Map_item_text = {
  569. X    0,1,    /* FrontPen, BackPen */
  570. X    0,    /* DrawMode(jam1) */
  571. X    2,2,    /* LeftEdge,TopEdge */
  572. X    NULL,    /* ITextFont */
  573. X    " Color Map",    /* IText */
  574. X    NULL,    /* NextText */
  575. X    };
  576. X
  577. Xstruct MenuItem _Color_Map_item = {
  578. X    &_Grey_Map__item,    /* Next Item */
  579. X    2,10,150,10,    /* LeftEdge,TopEdge,Width,Height */
  580. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  581. X    NULL,    /* MutualExclude */
  582. X    (APTR)&_Color_Map_item_text,    /* ItemFill */
  583. X    NULL,    /* SelectFill */
  584. X    0x43,    /* Command */
  585. X    NULL,    /* SubItem */
  586. X    NULL    /* NextSelect */
  587. X    };
  588. X
  589. Xstruct IntuiText _Draw______item_text = {
  590. X    0,1,    /* FrontPen, BackPen */
  591. X    0,    /* DrawMode(jam1) */
  592. X    2,2,    /* LeftEdge,TopEdge */
  593. X    NULL,    /* ITextFont */
  594. X    " Draw     ",    /* IText */
  595. X    NULL,    /* NextText */
  596. X    };
  597. X
  598. Xstruct MenuItem _Draw______item = {
  599. X    &_Color_Map_item,    /* Next Item */
  600. X    2,0,150,10,    /* LeftEdge,TopEdge,Width,Height */
  601. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  602. X    NULL,    /* MutualExclude */
  603. X    (APTR)&_Draw______item_text,    /* ItemFill */
  604. X    NULL,    /* SelectFill */
  605. X    0x44,    /* Command */
  606. X    NULL,    /* SubItem */
  607. X    NULL    /* NextSelect */
  608. X    };
  609. X
  610. Xstruct Menu _Misc_menu = {
  611. X    NULL,    /* Next Menu */
  612. X    76,0,49,11,    /* LeftEdge,TopEdge,Width,Height */
  613. X    MENUENABLED,    /* Flags */
  614. X    " Misc",     /* MenuName */
  615. X    &_Draw______item    /*FirstItem */
  616. X    };
  617. X
  618. X/********** End  Misc Menu **********/
  619. X
  620. X/********** Start Project Menu **********/
  621. X
  622. Xstruct IntuiText _Quit____item_text = {
  623. X    0,1,    /* FrontPen, BackPen */
  624. X    0,    /* DrawMode(jam1) */
  625. X    2,2,    /* LeftEdge,TopEdge */
  626. X    NULL,    /* ITextFont */
  627. X    " Quit   ",    /* IText */
  628. X    NULL,    /* NextText */
  629. X    };
  630. X
  631. Xstruct MenuItem _Quit____item = {
  632. X    NULL,    /* Next Item */
  633. X    2,40,132,10,    /* LeftEdge,TopEdge,Width,Height */
  634. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  635. X    NULL,    /* MutualExclude */
  636. X    (APTR)&_Quit____item_text,    /* ItemFill */
  637. X    NULL,    /* SelectFill */
  638. X    0x51,    /* Command */
  639. X    NULL,    /* SubItem */
  640. X    NULL    /* NextSelect */
  641. X    };
  642. X
  643. Xstruct IntuiText _Run_____item_text = {
  644. X    0,1,    /* FrontPen, BackPen */
  645. X    0,    /* DrawMode(jam1) */
  646. X    2,2,    /* LeftEdge,TopEdge */
  647. X    NULL,    /* ITextFont */
  648. X    " Run    ",    /* IText */
  649. X    NULL,    /* NextText */
  650. X    };
  651. X
  652. Xstruct MenuItem _Run_____item = {
  653. X    &_Quit____item,    /* Next Item */
  654. X    2,30,132,10,    /* LeftEdge,TopEdge,Width,Height */
  655. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  656. X    NULL,    /* MutualExclude */
  657. X    (APTR)&_Run_____item_text,    /* ItemFill */
  658. X    NULL,    /* SelectFill */
  659. X    0x52,    /* Command */
  660. X    NULL,    /* SubItem */
  661. X    NULL    /* NextSelect */
  662. X    };
  663. X
  664. Xstruct IntuiText _SaveAs__item_text = {
  665. X    0,1,    /* FrontPen, BackPen */
  666. X    0,    /* DrawMode(jam1) */
  667. X    2,2,    /* LeftEdge,TopEdge */
  668. X    NULL,    /* ITextFont */
  669. X    " SaveAs ",    /* IText */
  670. X    NULL,    /* NextText */
  671. X    };
  672. X
  673. Xstruct MenuItem _SaveAs__item = {
  674. X    &_Run_____item,    /* Next Item */
  675. X    2,20,132,10,    /* LeftEdge,TopEdge,Width,Height */
  676. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  677. X    NULL,    /* MutualExclude */
  678. X    (APTR)&_SaveAs__item_text,    /* ItemFill */
  679. X    NULL,    /* SelectFill */
  680. X    0x41,    /* Command */
  681. X    NULL,    /* SubItem */
  682. X    NULL    /* NextSelect */
  683. X    };
  684. X
  685. Xstruct IntuiText _Save____item_text = {
  686. X    0,1,    /* FrontPen, BackPen */
  687. X    0,    /* DrawMode(jam1) */
  688. X    2,2,    /* LeftEdge,TopEdge */
  689. X    NULL,    /* ITextFont */
  690. X    " Save   ",    /* IText */
  691. X    NULL,    /* NextText */
  692. X    };
  693. X
  694. Xstruct MenuItem _Save____item = {
  695. X    &_SaveAs__item,    /* Next Item */
  696. X    2,10,132,10,    /* LeftEdge,TopEdge,Width,Height */
  697. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  698. X    NULL,    /* MutualExclude */
  699. X    (APTR)&_Save____item_text,    /* ItemFill */
  700. X    NULL,    /* SelectFill */
  701. X    0x53,    /* Command */
  702. X    NULL,    /* SubItem */
  703. X    NULL    /* NextSelect */
  704. X    };
  705. X
  706. Xstruct IntuiText _Open____item_text = {
  707. X    0,1,    /* FrontPen, BackPen */
  708. X    0,    /* DrawMode(jam1) */
  709. X    2,2,    /* LeftEdge,TopEdge */
  710. X    NULL,    /* ITextFont */
  711. X    " Open   ",    /* IText */
  712. X    NULL,    /* NextText */
  713. X    };
  714. X
  715. Xstruct MenuItem _Open____item = {
  716. X    &_Save____item,    /* Next Item */
  717. X    2,0,132,10,    /* LeftEdge,TopEdge,Width,Height */
  718. X    ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ,    /* Flags */
  719. X    NULL,    /* MutualExclude */
  720. X    (APTR)&_Open____item_text,    /* ItemFill */
  721. X    NULL,    /* SelectFill */
  722. X    0x4f,    /* Command */
  723. X    NULL,    /* SubItem */
  724. X    NULL    /* NextSelect */
  725. X    };
  726. X
  727. Xstruct Menu Project_menu = {
  728. X    &_Misc_menu,    /* Next Menu */
  729. X    4,0,67,11,    /* LeftEdge,TopEdge,Width,Height */
  730. X    MENUENABLED,    /* Flags */
  731. X    "Project",     /* MenuName */
  732. X    &_Open____item    /*FirstItem */
  733. X    };
  734. X
  735. X/********** End Project Menu **********/
  736. END_OF_FILE
  737. if test 4971 -ne `wc -c <'menu.c'`; then
  738.     echo shar: \"'menu.c'\" unpacked with wrong size!
  739. fi
  740. # end of 'menu.c'
  741. fi
  742. if test -f 'menu.men' -a "${1}" != "-c" ; then 
  743.   echo shar: Will not clobber existing file \"'menu.men'\"
  744. else
  745. echo shar: Extracting \"'menu.men'\" \(349 characters\)
  746. sed "s/^X//" >'menu.men' <<'END_OF_FILE'
  747. XMENU 1 "Project"
  748. X     ITEM 1 1   " Open   " SHORTCUT O
  749. X     ITEM 1 2   " Save   "  SHORTCUT S
  750. X     ITEM 1 3   " SaveAs " SHORTCUT A
  751. X     ITEM 1 4   " Run    " SHORTCUT R
  752. X     ITEM 1 5   " Quit   " SHORTCUT Q
  753. X
  754. XMENU 2 " Misc"
  755. X     ITEM 2 1   " Draw     "     SHORTCUT D
  756. X     ITEM 2 2   " Color Map" SHORTCUT C
  757. X     ITEM 2 2   " Grey Map " SHORTCUT G
  758. X
  759. END_OF_FILE
  760. if test 349 -ne `wc -c <'menu.men'`; then
  761.     echo shar: \"'menu.men'\" unpacked with wrong size!
  762. fi
  763. # end of 'menu.men'
  764. fi
  765. echo shar: End of archive 1 \(of 1\).
  766. cp /dev/null ark1isdone
  767. MISSING=""
  768. for I in 1 ; do
  769.     if test ! -f ark${I}isdone ; then
  770.     MISSING="${MISSING} ${I}"
  771.     fi
  772. done
  773. if test "${MISSING}" = "" ; then
  774.     echo You have the archive.
  775.     rm -f ark[1-9]isdone
  776. else
  777.     echo You still need to unpack the following archives:
  778.     echo "        " ${MISSING}
  779. fi
  780. ##  End of shell archive.
  781. exit 0
  782. -- 
  783. Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
  784. Mail comments to the moderator at <amiga-request@uunet.uu.net>.
  785. Post requests for sources, and general discussion to comp.sys.amiga.misc.
  786.